#include <bits/stdc++.h>

using namespace std;
double n;
struct OilDepot {
    double distance; // 距离终点的距离
    double oil;     // 储油量
};

int main() {
    vector<OilDepot> depots;
    double d = 0.0;  // 当前储油点距离终点的距离
    int i = 1;       // 储油点编号
	cin >> n;
    // 计算所有储油点（从终点向起点）
    while (d < n) {
        double delta_d = 500.0 / (2 * i - 1); // 当前储油点与前一个储油点的距离
        if (d + delta_d > n) {
            break; // 超过沙漠长度，停止计算
        }
        d += delta_d; // 更新当前储油点距离终点的距离
        double oil = 500.0 * i; // 当前储油点的储油量
        depots.push_back({d, oil}); // 添加储油点
        i++;
    }

    // 反转储油点列表，使距离起点的距离从小到大排列
    reverse(depots.begin(), depots.end());

    // 输出结果
    for (int idx = 0; idx < depots.size(); idx++) {
        double dis_from_start = n - depots[idx].distance; // 计算距离起点的距离
        cout << "i" << idx << " dis" << fixed << setprecision(2) << dis_from_start 
             << " oil" << fixed << setprecision(2) << depots[idx].oil << endl;
    }

    return 0;
}
